iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
Kotlin

new to Kotlin系列 第 15

Day 15 功能性介面

  • 分享至 

  • xImage
  •  

昨天提到了介面(Interfaces)

  • 可包含抽象方法的宣告
  • 與抽象類別相比,介面無法儲存狀態

今天則是要來談談功能性介面(Functional interfaces)
什麼是功能性介面呢?
功能性介面就是只包含一個抽象方法的介面
我們可以將其稱為單一抽象方法(Single Abstract Method,縮寫SAM)

fun interface KRunnable {
   fun invoke()
}

SAM轉換

  • 可以使用lambda表示式
    以下為有做轉換與未轉換的差異
fun interface IntPredicate {
   fun accept(i: Int): Boolean
}
val isEven = object : IntPredicate {
   override fun accept(i: Int): Boolean {
       return i % 2 == 0
   }
}

上一篇
Day 14 屬性與介面(續)
下一篇
Day 16 擴充
系列文
new to Kotlin30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言